package org.nf.trading.service.app.order;



import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
import org.nf.trading.entity.Order;

import java.util.List;

public interface OrderService {
    /**
     * 通过卖家id查询所有订单
     * @return
     */
    List<Order> listOrdersBySeller(Integer sellerId);

    /**
     * 通过uid查询所有订单
     * @param uid
     * @return
     */
    List<Order> listOrdersByUid(Integer uid);
    /**
     * 通过订单id修改状态
     * @param orderId
     * @param status
     * @return
     */
    boolean updateOrderStatus(@Param("orderId") Integer orderId, @Param("status") Integer status);

    /**
     * 通过订单id和买家id查询订单
     * @param orderId
     * @param buyerId
     * @return
     */
    Order getOrderIdAndUid(Integer orderId);

    /**
     * 通过状态查询全部订单
     *
     * @param statue
     * @return
     */
    List<Order> listOrdersByStatue(Integer buyerId, Integer statue);

    /**
     * 添加订单
     *
     * @param order
     * @return
     */
    int addOrder(Order order);

    /**
     * 查询全部订单
     * @return
     */
    List<Order> selectAll();

    /**
     * 删除订单
     * @param orderId
     * @return
     */
    boolean deleteOrder(Integer orderId);

    PageInfo<Order> selectOrderAll(Integer pageNum,Integer pageSize,Order order);
}
